/**
 * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
 */
package com.jeesite.modules.kj.entity;

import javax.validation.constraints.NotBlank;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotNull;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;

import java.math.BigDecimal;

/**
 * kj_activity_jobEntity
 * @author hzy
 * @version 2021-07-10
 */
@Table(name="kj_activity_job", alias="a", columns={
		@Column(name="id", attrName="id", label="id", isPK=true),
		@Column(name="activity_id", attrName="activityId", label="活动ID"),
		@Column(name="activity_name", attrName="activityName", label="活动名", queryType=QueryType.LIKE),
		@Column(name="job_name", attrName="jobName", label="岗位名", queryType=QueryType.LIKE),
		@Column(name="limit_num", attrName="limitNum", label="限制人数"),
		@Column(name="attention_num", attrName="attentionNum", label="已报名人数"),
		@Column(name="approved_num", attrName="approvedNum", label="已报名人数"),
		@Column(name="service_time", attrName="serviceTime", label="服务时长", comment="服务时长(小时)"),
		@Column(name="integrals", attrName="integrals", label="可获得积分"),
		@Column(name="job_type_id", attrName="jobTypeId", label="岗位类型ID"),
		@Column(name="job_type_name", attrName="jobTypeName", label="岗位类型名"),
		@Column(includeEntity=DataEntity.class),
	}, orderBy="a.update_date DESC"
)
public class KjActivityJob extends DataEntity<KjActivityJob> {

	private static final long serialVersionUID = 1L;
	private String activityId;		// 活动ID
	private String activityName;		// 活动名
	private String jobName;		// 岗位名
	private Long limitNum;		// 限制人数
	private Long attentionNum;		// 已报名人数
	private Long approvedNum;		// 已报名人数
	private BigDecimal serviceTime;		// 服务时长(小时)
	private BigDecimal integrals;		// 可获得积分
	private String jobTypeId;
	private String jobTypeName;

	public KjActivityJob() {
		this(null);
	}

	public KjActivityJob(String id){
		super(id);
	}

	@NotBlank(message="活动ID不能为空")
	@Length(min=0, max=64, message="活动ID长度不能超过 64 个字符")
	public String getActivityId() {
		return activityId;
	}

	public void setActivityId(String activityId) {
		this.activityId = activityId;
	}

	@Length(min=0, max=255, message="活动名长度不能超过 255 个字符")
	public String getActivityName() {
		return activityName;
	}

	public void setActivityName(String activityName) {
		this.activityName = activityName;
	}

	@NotBlank(message="岗位名不能为空")
	@Length(min=0, max=255, message="岗位名长度不能超过 255 个字符")
	public String getJobName() {
		return jobName;
	}

	public void setJobName(String jobName) {
		this.jobName = jobName;
	}

	@NotNull(message="限制人数不能为空")
	public Long getLimitNum() {
		return limitNum;
	}

	public void setLimitNum(Long limitNum) {
		this.limitNum = limitNum;
	}

	public Long getAttentionNum() {
		return attentionNum;
	}

	public void setAttentionNum(Long attentionNum) {
		this.attentionNum = attentionNum;
	}

	@NotNull(message="服务时长不能为空")
	public BigDecimal getServiceTime() {
		return serviceTime;
	}

	public void setServiceTime(BigDecimal serviceTime) {
		this.serviceTime = serviceTime;
	}

	@NotNull(message="可获得积分不能为空")
	public BigDecimal getIntegrals() {
		return integrals;
	}

	public void setIntegrals(BigDecimal integrals) {
		this.integrals = integrals;
	}


	public Long getApprovedNum() {
		return approvedNum;
	}

	public void setApprovedNum(Long approvedNum) {
		this.approvedNum = approvedNum;
	}


	public String getJobTypeId() {
		return jobTypeId;
	}

	public void setJobTypeId(String jobTypeId) {
		this.jobTypeId = jobTypeId;
	}

	public String getJobTypeName() {
		return jobTypeName;
	}

	public void setJobTypeName(String jobTypeName) {
		this.jobTypeName = jobTypeName;
	}
}
